<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>cresample: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">cresample
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('index.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">cresample Documentation</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This header file contains identifiers and register-level driver functions (or macros), that can be used to access the Xilinx Chroma Resampler (Cresample) core instance.The Chroma Resampler core converts between chroma sub-sampling formats of 4:4:4, 4:2:2,and 4:2:0. There are a total of six conversions available for the three supported sub-sampling formats. Conversion is achieved using a FIR filter approach. Some conversions require filtering in only the horizontal dimension, only the vertical dimension, or both. Interpolation operations are implemented using a two-phase polyphase FIR filter. Decimation operations are implemented using a low-pass FIR filter to suppress chroma aliasing.</p>
<p>Features of Chroma Resampler core are</p><ul>
<li>Configurable filters sizes with programmable filter coefficients for high performance applications.</li>
<li>Replicate or drop pixels.</li>
<li>Static, predefined, powers-of-two coefficients for low-footprint applications</li>
<li>Converts between YCbCr: 4:4:4, 4:2:2,and 4:2:0.</li>
<li>Supports both progressive and interlaced video.</li>
</ul>
<p><b>Initialization &amp; Configuration</b></p>
<p>The device driver enables higher layer software (e.g., an application) to communicate to the Cresample core.</p>
<p><a class="el" href="group__cresample__v4__0.html#ga386a0f9c22e6409060fd966a66d8aa66" title="This function initializes the Cresample core. ">XCresample_CfgInitialize()</a> API is used to initialize the Cresample core. The user needs to first call the <a class="el" href="group__cresample__v4__0.html#gababb2eeaa2d4fd6eaa6941c547c1698d" title="This function returns a reference to an XCresample_Config structure based on the unique device id...">XCresample_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <a class="el" href="group__cresample__v4__0.html#ga386a0f9c22e6409060fd966a66d8aa66" title="This function initializes the Cresample core. ">XCresample_CfgInitialize()</a> API.</p>
<p><b> Interrupts </b></p>
<p>The driver provides an interrupt handler XCresample_IntrHandler for handling the interrupt from the Cresample core. The users of this driver have to register this handler with the interrupt system and provide the callback functions by using XCresample_SetCallBack API.</p>
<p><b> Virtual Memory </b></p>
<p>This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.</p>
<p><b> Threads </b></p>
<p>This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.</p>
<p><b> Asserts </b></p>
<p>Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.</p>
<p><b> Building the driver </b></p>
<p>The Cresample driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.*</p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who     Date     Changes
<hr/>

2.00a vy      04/24/12 Updated for version 2.00.a
                       Converted from xio.h to xil_io.h, translating
                       basic type, MB cache functions, exceptions and
                       assertion to xil_io format.
1.00a vy      10/22/10 Initial version
3.0   adk     19/12/13 Updated as per the New Tcl API's.
4.0   adk     03/12/14 Changed the file name cresample.h to <a class="el" href="xcresample_8h.html">xcresample.h</a>.
                       Macros of register offsets, bit definitions,
                       ReadReg and WriteReg macros which are the part of
                       xcresample_hw.h.were moved to <a class="el" href="xcresample__hw_8h.html">xcresample_hw.h</a>.
                       Removed file inclusion of Xil_io.h.</pre><pre>                       Removed the following functional macros:
                       CRESAMPLE_Enable, CRESAMPLE_Disable,
                       CRESAMPLE_RegUpdateEnable, CRESAMPLE_RegUpdateDisable,
                       CRESAMPLE_Reset, CRESAMPLE_ClearReset,
                       CRESAMPLe_AutoSyncReset.
                       Defined the following functional macros:
                       XCresample_Enable, XCresample_Disable,
                       XCresample_RegUpdateEnable,XCresample_RegUpdateDisable
                       XCresample_Reset, XCresample_ClearReset,
                       XCresample_SyncReset, XCresample_IntrDisable,
                       XCresample_IntrEnable, XCresample_StatusGetPending
                       XCresample_IntrGetPending, XCresample_IntrClear.
                       Declared following structures:
                       <a class="el" href="struct_x_cresample___config.html" title="This typedef contains configuration information for a Video device. ">XCresample_Config</a> and <a class="el" href="struct_x_cresample.html" title="The XCresample driver instance data structure. ">XCresample</a> of Chroma Resampler.</pre><pre>                       Defined the following range macros:
                       XCRE_VSIZE_FIRST, XCRE_VSIZE_LAST, XCRE_HSIZE_FIRST,
                       XCRE_HSIZE_FIRST, XCRE_HSIZE_LAST, XCRE_PARITY_ODD,
                       XCRE_PARITY_EVEN, XCRE_COEF_FIRST, XCRE_COEF_LAST,
                       XCRE_OFFSET_DIFF, XCRE_NUM_OF_PHASES, XCRE_NUM_HCOEFS,
                       and XCRE_NUM_VCOEFS.</pre><pre>                       Modifications in the file <a class="el" href="xcresample__hw_8h.html">xcresample_hw.h</a> are:
                       Added the register offsets and bit masks for the
                       registers and added backward compatibility for macros.</pre><pre>                       Modifications in the file <a class="el" href="xcresample_8c.html">xcresample.c</a> are:
                       Changed the filename cresample.c to <a class="el" href="xcresample_8c.html">xcresample.c</a>.
                       The Following functions are removed:
                       clear_coef_values, configure_444_to_422,
                       configure_422_to_444, configure_422_to_420,
                       configure_420_to_422, configure_444_to_420 and
                       configure_420_to_444.
                       Implemented the following functions :
                       StubCallBack, StubErrorCallBack,
                       XCresample_CfgInitialize,
                       XCresample_GetVersion, XCresample_EnableDbgByPass,
                       XCresample_IsDbgByPassEnabled,
                       XCresample_DisableDbgByPass,
                       XCresample_SetDbgTestPattern,
                       XCresample_IsDbgTestPatternEnabled,
                       XCresample_DisableDbgTestPattern
                       XCresample_GetDbgFrameCount,
                       XCresample_GetDbgLineCount,
                       XCresample_GetDbgPixelCount,
                       XCresample_SetActiveSize, XCresample_GetActiveSize,
                       XCresample_SetFieldParity, XCresample_GetFieldParity,
                       XCresample_SetChromaParity,
                       XCresample_GetChromaParity
                       XCresample_SetHCoefs, XCresample_GetHCoefs,
                       XCresample_SetVCoefs, XCresample_GetVCoefs,
                       XCresample_Clear_HCoef_Values, and
                       XCresample_Clear_VCoef_Values.</pre><pre>                       Modifications in the file <a class="el" href="xcresample__intr_8c.html">xcresample_intr.c</a> are:
                       Implemented XCresample_IntrHandler and
                       XCresample_SetCallBack functions.</pre><pre>                       Modifications in the file <a class="el" href="xcresample__selftest_8c.html">xcresample_selftest.c</a> are:
                       Implemented XCresample_SelfTest function.</pre><pre>                       Modifications in the file <a class="el" href="xcresample__sinit_8c.html">xcresample_sinit.c</a> are:
                       Implemented XCresample_LookupConfig function.
4.1   ms      01/16/17 Updated the parameter naming from
                       XPAR_CRESAMPLE_NUM_INSTANCES to
                       XPAR_XCRESAMPLE_NUM_INSTANCES to avoid compilation
                       failure for XPAR_CRESAMPLE_NUM_INSTANCES as the
                       tools are generating XPAR_XCRESAMPLE_NUM_INSTANCES
                       in the generated xcresample_g.c for fixing MISRA-C
                       files. This is a fix for CR-966099 based on the
                       update in the tools.
      ms      03/17/17 Added readme.txt file in examples folder for doxygen
                       generation.
</pre> </div></div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
